#!/bin/bash
# dev-tcp.sh: Пример перенаправления на псевдоустройство /dev/tcp 

# Автор: Troy Engel.
# Используется с разрешения автора.

TCP_HOST=www.slashdot.org
TCP_PORT=80   # 80-й порт -- это стандартный порт службы http.

# Попытка выполнить соединение. (Своего рода 'ping.') 
echo "HEAD / HTTP/1.0" >/dev/tcp/${TCP_HOST}/${TCP_PORT}
MYEXIT=$?

: << EXPLANATION
Если bash собран с ключом --enable-net-redirections, то он имеет возможность
использовать специальное символьное устройство для перенаправления TCP и UDP. 
Оно практически идентично стандартным устройствам STDIN/STDOUT/STDERR. 
Создать это устройство (если его еще нет в системе) можно командой
(разумеется, что при этом вы должны обладать правами root):

mknod /dev/tcp c 30 36

>Из руководства к bash:
/dev/tcp/host/port
Если host является верным именем сетевого узла или IP-адресом, а port -- целое число
или название сетевой службы, то Bash попытается открыть TCP-соединение
с соответствующим узлом.
EXPLANATION


	if [ "X$MYEXIT" = "X0" ]; then
	echo "Соединение установлено. Код завершения: $MYEXIT"
	else
	echo "Ошибка при попытке установить соединение. Код завершения: $MYEXIT"
	fi

exit $MYEXIT
